use thiserror::Error;

/// AccountError 异常信息
#[derive(Error, Debug)]
pub(crate) enum AccountError {
    #[error("数据操作异常")]
    OperationError,
    #[error("系统异常")]
    SystemError,
    #[error("创建用户异常")]
    CreateUserError,
    #[error("请求参数异常")]
    RequestError,
    #[error("验证码生成异常")]
    CaptchaError,
    #[error("验证码不匹配")]
    CaptchaNotMatchError,
    #[error("用户不存在")]
    UserNotExistError,
    #[error("用户密码不正确")]
    UserPasswdNotExistError,
    #[error("项目名称不能为空")]
    ProjectNameNotExistError,
    #[error("模型名称不能为空")]
    ModuleNameNotExistError,
    #[error("项目业务线不能为空")]
    ProjectBizNotExistError,
    #[error("模型业务线不能为空")]
    ModuleBizNotExistError,
    #[error("项目请求变量不能为空")]
    ProjectUrlNotExistError,
    #[error("模型标识不能为空")]
    ModuleIdNotExistError,
}

pub(crate) type AppResult<T> = Result<T, AccountError>;